package algoritm;

import java.util.ArrayList;

import container.Arbore;
import container.Stare;
import operator.Operator;


public abstract class Algoritm {
	
	protected Arbore a;
	protected static ArrayList<Operator> listaOperatori = new ArrayList<Operator>();
	protected boolean solution;
	
	public static void adaugaOperatori(Operator op) {
		listaOperatori.add(op);		
	}
	
	public Arbore getArbore() {
		return a;
	}
	
	public boolean isSolution() {
		return solution;
	}
	
	public abstract void solve();	
	public abstract ArrayList<Stare> expand(Stare st);
	public abstract boolean search(Stare st);
	
}